﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace NIEN_LUAN
{
    public partial class FormChiTietChungTu : Form
    {
        private Db.DataContentDataContext db = new NIEN_LUAN.Db.DataContentDataContext();

        private FormTimKiemChungTu formTimKiemChungTu;
        private FormThongKeChungTu frmThongkectct;
        private Db.CHUNGTU ChungtuCanSua;
        public FormChiTietChungTu()
        {
            InitializeComponent();
        }
        public FormChiTietChungTu(FormTimKiemChungTu frm,Db.CHUNGTU chungtucansua)
        {
            InitializeComponent();
            this.formTimKiemChungTu = frm;
            this.ChungtuCanSua = chungtucansua;
        }

        public FormChiTietChungTu(FormThongKeChungTu frm, Db.CHUNGTU chungtucansua)
        {
            InitializeComponent();
            this.frmThongkectct = frm;
            this.ChungtuCanSua = chungtucansua;
        }

        private void btnThoatCTKH_Click(object sender, EventArgs e)
        {
            this.Close();
        }
       
        private void btnChonMH_Click(object sender, EventArgs e)
        {
            Form frmChonMH = new FormTimChiTietMatHang();
            //đoạn này anh thêm vào nè :p
            frmChonMH.ShowDialog();
        }

        private void FormChiTietChungTu_Load(object sender, EventArgs e)
        {
            if (formTimKiemChungTu != null && ChungtuCanSua != null)
            {
                this.txtSoCT.Text = ChungtuCanSua.SoChungTu;
                this.txtSoCT.Enabled = false;
                this.txtMaNV.Text = ChungtuCanSua.MaNhanVien;
                this.txtMaKH.Text = ChungtuCanSua.MaKhachHang;
                this.numericUDTongitien.Value = ChungtuCanSua.TongTien??0;
                this.numericUDTiendatra.Value = ChungtuCanSua.TienDaTra??0;
                this.dateTimePickerHTToan.Value = ChungtuCanSua.HanThanhToan ?? DateTime.Now;
                this.dateTimePickerNLap.Value = ChungtuCanSua.NgayLap ?? DateTime.Now;

                var chitietchungtu = (from m in db.CHITIETCHUNGTUs
                                     where m.SoChungTu == ChungtuCanSua.SoChungTu
                                     select new Db.ChitietNhapXuat {
                                     DonGia=m.DonGiaXuat??0,
                                     MaHang=m.MaHang,
                                     SoLuong=(int)(m.SoLuongXuat??0),
                                     TenHang=m.MATHANG.TenHang
                                     
                                     }).ToList();

                this.bsChiTietChungTu.DataSource = chitietchungtu;
            }

            if (frmThongkectct != null && ChungtuCanSua != null)
            {
                this.txtSoCT.Text = ChungtuCanSua.SoChungTu;
                this.txtSoCT.Enabled = false;
                this.txtMaNV.Text = ChungtuCanSua.MaNhanVien;
                this.txtMaKH.Text = ChungtuCanSua.MaKhachHang;
                this.numericUDTongitien.Value = ChungtuCanSua.TongTien ?? 0;
                this.numericUDTiendatra.Value = ChungtuCanSua.TienDaTra ?? 0;
                this.dateTimePickerHTToan.Value = ChungtuCanSua.HanThanhToan ?? DateTime.Now;
                this.dateTimePickerNLap.Value = ChungtuCanSua.NgayLap ?? DateTime.Now;

                var chitietchungtu = (from m in db.CHITIETCHUNGTUs
                                      where m.SoChungTu == ChungtuCanSua.SoChungTu
                                      select new Db.ChitietNhapXuat
                                      {
                                          DonGia = m.DonGiaXuat ?? 0,
                                          MaHang = m.MaHang,
                                          SoLuong = (int)(m.SoLuongXuat ?? 0),
                                          TenHang = m.MATHANG.TenHang

                                      }).ToList();

                this.bsChiTietChungTu.DataSource = chitietchungtu;



            }
        }
   
        private void button1_Click(object sender, EventArgs e)
        {
            var obj = this.bsChiTietChungTu.Current;
            if (obj != null)
            {
                this.bsChiTietChungTu.RemoveCurrent();
                return;
            }
            MessageBox.Show("Chọn hàng cần xóa!");
        }

        private void button2_Click(object sender, EventArgs e)
        {

            var frm = new FormTimChiTietMatHang(this);
            //try
            //{
                var tl = frm.ShowDialog();
                if (tl == DialogResult.OK)
                {
                    return;
                }
            //}
            //catch { }
        }

        private void btnLuuCTKH_Click(object sender, EventArgs e)
        {
            
            ChungtuCanSua= db.CHUNGTUs.Single(m => m.SoChungTu == this.txtSoCT.Text);
            ChungtuCanSua.MaKhachHang = this.txtMaKH.Text;
            ChungtuCanSua.MaNhanVien = this.txtMaNV.Text;
            ChungtuCanSua.HanThanhToan = this.dateTimePickerHTToan.Value;
            ChungtuCanSua.NgayLap = this.dateTimePickerNLap.Value;
            ChungtuCanSua.SoChungTu = this.txtSoCT.Text;
            ChungtuCanSua.TienDaTra = this.numericUDTiendatra.Value;
            ChungtuCanSua.TongTien = this.numericUDTongitien.Value;

            var chitietchungtu = (from m in db.CHITIETCHUNGTUs
                                  where m.SoChungTu == ChungtuCanSua.SoChungTu
                                  select m).ToList();
            db.CHITIETCHUNGTUs.DeleteAllOnSubmit(chitietchungtu);
            List<Db.ChitietNhapXuat> list = this.bsChiTietChungTu.DataSource as List<Db.ChitietNhapXuat>;
            var ctchungtu2 = (from m in list
                              select new Db.CHITIETCHUNGTU {
                              DonGiaXuat=m.DonGia,
                              MaHang=m.MaHang,SoChungTu=ChungtuCanSua.SoChungTu,
                              SoLuongXuat=m.SoLuong
                              
                              }).ToList();

            db.CHITIETCHUNGTUs.InsertAllOnSubmit(ctchungtu2);

            db.SubmitChanges();
            this.DialogResult = DialogResult.OK;
            
        }

        private void buttonXemctct_Click(object sender, EventArgs e)
        {
            //Form frmthongke1 = new FormReportChiTietChungTu(this);
            //frmthongke1.ShowDialog();
        }
    }
}
